# 给定 nums = [2, 7, 11, 15], target = 9
# 因为 nums[0] + nums[1] = 2 + 7 = 9
# 所以返回 [0, 1]
from typing import List


class Solution:
    def twoSum(self, nums, target):
        lens = len(nums)  # 数组长度
        i = j = -1  # 初始值,找不到为-1
        for i in range(lens):  # 遍历每个索引
            if (target - nums[i]) in nums:  # 目标值 - 索引对应值 在 数组中
                if (nums.count(target - nums[i]) == 1) & (  # 如果目标值 - 索引对应值的结果 在数组中的数量 只有一个
                        target - nums[i] == nums[i]):  # 并且 目标值 - 索引对应值 的结果 就是 索引对应值
                    continue  # 跳过
                else:  # 否则
                    j = nums.index(target - nums[i], i + 1)  # 从该索引值后一位开始找
                    break
        if j > 0:  # 如果找到了(j被重新赋值)
            return [i, j]  # 返回索引
        else:
            return []  # 返回空数组


nums = [2, 7, 11, 15]
target = 9

solution = Solution()
print(solution.twoSum(nums, target))
